home *** CD-ROM | disk | FTP | other *** search
- vs.1.1
-
- ;dx9 stuff
- ;********
- dcl_position v0
- ;dcl_blendweight v1
- ;dcl_blendindices v2
- dcl_normal v3
- dcl_binormal v4
- dcl_tangent v5
- dcl_texcoord0 v7
-
- ;Constant map from the NSF.
- ;
- ;CM_Defined WorldViewProjTranspose 0 0
- ;CM_Constant const_1_1_1_255 4 1 1.0,1.0,1.0,765.01
- ;CM_Global DirLight1Direction 5 1
- ;CM_Global DaCameraPosition 6 1
- ;CM_Constant Half 7 1 0.5,0.5,0.5,0.5
- ;CM_Defined InvWorldTranspose 8 0
-
- ;Project position
- m4x4 oPos, v0, c0
-
- ;Transform lightvector from worldspace to object space
- mov r5, c5
- m3x3 r4, r5, c8
-
- ; Normalize light vector.
- dp3 r3.x, r4, r4
- rsq r2.x, r3.x
- mul r0, r4.xyz, r2.xxx
-
- ;Transform to tangent space
- dp3 r7.x, r0, v5 ;Tangent
- dp3 r7.y, r0, v4 ;Binormal
- dp3 r7.z, r0, v3 ;Normal
- mad oD0.xyz, r7.xyz, c7, c7 ;Scale and bias since texcoord in the pixel shader
- ;expects a range of 0 to 1.
-
-
- ;Specular calculation
- ;mov r1, v0
-
- ;Transform vertex to world coords
- m4x4 r1, v0, c16
-
- ;View vector
- add r5, -r1, c6
-
- ;normalize it
- dp3 r3.x, r5.xyz, r5.xyz
- rsq r3.xyz, r3.x
- mul r5.xyz, r5.xyz, r3.xxx
-
- ;Calculate half angle vector
- add r2.xyz, r5.xyz, c5 ;L + V
-
- ;Normalize it
- dp3 r4.x, r2.xyz, r2.xyz
- rsq r4.xyz, r4.x
- mul r2.xyz, r2.xyz, r4.xyz
-
- ;Transform to object space
- m3x3 r4, r2, c8
-
- ; Normalize half angle vector
- dp3 r3.x, r4.xyz, r4.xyz
- rsq r3.xyz, r3.x
- mul r4.xyz, r4.xyz, r3.xxx
-
- ;Transform to tangent space
- dp3 r7.x, r4, v5 ;Tangent
- dp3 r7.y, r4, v4 ;Binormal
- dp3 r7.z, r4, v3 ;Normal
- mad oD1.xyz, r7.xyz, c7, c7 ;Scale and bias since texcoord in the pixel shader
-
- ;Texture coordinates for the base map and normal map and gloss.
- mov oT0.xy, v7.xy
- mov oT1.xy, v7.xy
- mov oT2.xy, v7.xy
-
-
-
-